package com.medusa.aps.business.modules.board.model.input;

import com.medusa.aps.business.model.pagination.Page;
import com.medusa.aps.business.modules.board.model.ProcessStatus;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.experimental.Accessors;

import java.util.Set;

/**
 * <p>车间生产详情分页查询参数</p>
 * @author An.Yan
 */
@Data
@Accessors(chain = true)
@Schema(description = "车间生产详情父类查询参数")
public class WorkshopProductionDetailBaseQueryParam extends Page<WorkshopProductionDetailBaseQueryParam> {

    @Schema(description = "车间ID")
    @NotNull
    private Long workshopId;

    @Schema(description = "订单号")
    private String orderNumber;

    @Schema(description = "物料编码")
    private String materialCode;

    @Schema(description = "物料名称")
    private String materialName;

    @Schema(description = "工序编码")
    private String processCode;

    @Schema(description = "工序名称")
    private String processName;

    @Schema(description = "计划加工状态")
    private ProcessStatus plannedProcessingStatus;

    @Schema(description = "实际加工状态")
    private ProcessStatus actualProcessingStatus;

    @Schema(description = "设备编码")
    private String equipmentCode;

    @Schema(description = "设备名称")
    private String equipmentName;

    /**
     * 要导出的数据的ID集合
     */
    @Schema(description = "要导出的数据的ID集合")
    private Set<Long> ids;

}
